A Metaobject Protocol for Optimizing Application-Specic Run-Time Variability

نویسندگان

  • Guido Chari
  • Diego Garbervetsky
  • Stefan Marr
چکیده

Just-in-time compilers and their aggressive speculative optimizations reduced the performance gap between dynamic and static languages drastically. To successfully speculate, compilers rely on the program variability observed at run time to be low, and use heuristics to determine when optimization is bene€cial. However, some variability paŠerns are hard to capture with heuristics. Specifically, ephemeral, warmup, rare, and highly indirect variability are challenges for today’s compiler heuristics. As a consequence, they can lead to reduced application performance. However, these types of variability are identi€able at the application level and could be mitigated with information provided by developers. As a solution, we propose a metaobject protocol for dynamic compilation systems to enable application developers to provide such information at run time. As a proof of concept, we demonstrate performance improvements for a few scenarios in a dynamic language built on top of the Tru„e and Graal system. ACM Reference format: Guido Chari, Diego Garbervetsky, and Stefan Marr. 2017. A Metaobject Protocol for Optimizing Application-Speci€c Run-Time Variability. In Proceedings of ICOOOLPS’17, Barcelona , Spain, June 19, 2017, 5 pages. DOI: 10.1145/3098572.3098577

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Run-Time Metaobject Protocols: the Quest for their Holy Application

Run-time MetaObject Protocols (MOPs) are reflective systems that allow objects to be controlled at run time by one or many metaobjects. These metaobjects can then alter the semantics of the execution for the base objects they control. Jumping to the meta level to alter the semantics is powerful but indeed fairly costly. It is therefore desirable to let users fine-tune their run-time MOP accordi...

متن کامل

Aspect-Oriented Programming using Reflection

What infrastructure is needed to support aspect-oriented software development? To the programmer, we must supply aspect-oriented (sub)languages that are based on the constructs and basic syntax that the programmer is most familiar with, as well as facilities for reifying and manipulating the cross-cutting features of immediate concern. At the implementation level, the aspect specifications must...

متن کامل

Tolérance aux fautes sur CORBA par protocole à métaobjets et langages réflexifs

The goal of this dissertation is to design and implement a metaobject protocol adapted to fault-tolerance in Corba applications. No currently available metaobject protocol is satisfactory in this context. We define a protocol that enables dynamic control of (a) the behaviour and internal state of Corba objects, and (b) client/server and object/metaobject links. The implementation we propose is ...

متن کامل

Marc - Olivier

The goal of this dissertation is to design and implement a metaobject protocol adapted to fault-tolerance in Corba applications. No currently available metaobject protocol is satisfactory in this context. We define a protocol that enables dynamic control of (a) the behaviour and internal state of Corba objects, and (b) client/server and object/metaobject links. The implementation we propose is ...

متن کامل

The art of the Metaobject Protocol

This inspiring book becomes one that is very booming. After published, this book can steal the market and book lovers to always run out of this book. And now, we will not let you run out any more to get this book. Why should be the art of the metaobject protocol? As a book lover, you must know that enjoying the book to read should be relevant to how you exactly need now. If they are not too muc...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017